The pervasiveness of CADD/CAM systems over the last thirty years has revolutionized the design and manufacturing industries worldwide. Specifically, the wide availability of advanced modeling tools since the early 1970's has enabled engineers and designers to design, modify, and fabricate three-dimensional objects quickly and economically. Toward this end, much emphasis has been placed on the manufacturing end of the process--i.e., the task of using three-dimensional design data to create prototypes, molds, and finished products via numeric control techniques (NC) and stereo lithography. The actual design and creation of three dimensional models, however, is in many respects problematic, and can best be understood in the context of the basic principles of three-dimensional design.
Solid modeling packages traditionally use one of two solid generation modes: constructive solid geometry (CSG), and boundary representation (B-REP). The CSG approach involves using the three main operations defined by George Boole (thus known as Boolean operations), namely: "union", "difference", and "intersection". These Boolean operations are applied to pairs of objects at a time. Thus, as is well known in the art, the union operation is used to add the volumes of two solids, the difference operation is used to subtract one volume from another, and the intersection operation is used to define a volume consisting only of the region in space occupied by both solids. For example, with reference to FIG. 1A, a cylindrical rod 104 and block 102 are shown along with the various solids that result from each of the three Boolean operations--i.e. difference (solid 106), union (solid 108), and intersection (solid 110).
In contrast, The B-REP approach represents a solid as a set of vertices, edges, and faces, wherein the faces completely enclose a volume. For example, referring now to FIG. 1B, a three-quarter cylinder 112 is represented by four surface elements: three planar surfaces (top face 114, bottom face 116, and front plane face 118) and one cylindrical surface 120. The topology of this solid can be represented using a linear graph 122 wherein the nodes of the graph represent the faces and the connections represent shared edges.
There are four primary methods of generating basic solids: axial sweeps, rotational sweeps, blended solids, and free-form solids. Axial sweeps are solids defined by the volume created by translation of a planar object axially through space. For example, a cylinder can be created through axial sweep of a circle. Rotational sweeps are solids defined by the volume created by rotation of a planar object through space around a line. Blended solids are solids defined by a series of closed curve sets, wherein either straight or smooth blends are used to transition between each successive curve. Free form solids are usually generated by fitting a dense set of points, or by meshing two orthogonal curve sets, to create a skin which encloses the volume. A fifth category, analytic solids, consists of boxes (right rectangular hexahedron), right cylindrical rods, cones, spheroids, and toroids. These solids are all special cases of the axial and rotational sweep.
Further information regarding these and other solid generation methods as used in a CADD/CAM environment can be found in a number of standard texts, for example: HANDBOOK OF SOLID MODELING (LaCourse ed., 1995) and Martti Mantyla, AN INTRODUCTION TO SOLID MODELING (1988). The contents of these texts are hereby incorporated by reference.
In addition to the references listed above, well-known subroutines and equations related to basic solid geometry can be found in a number of standard texts, for example: Korn & Korn, MATHEMATICAL HANDBOOK FOR SCIENTISTS AND ENGINEERS (1961); Gerald Farin, CURVES AND SURFACES FOR COMPUTER AIDED GEOMETRIC DESIGN (2d ed., 1990); Su Bu-Qing & Liu Ding-Yuan, COMPUTATIONAL GEOMETRY: CURVE AND SURFACE MODELING (1989); Peter Lancaster & Kestutis Salkaukas, CURVE AND SURFACE FITTING (1986); Tom Lyche and Larry L. Schumaker, MATHEMATICAL METHODS IN COMPUTER AIDED GEOMETRIC DESIGN (1989). These texts are hereby incorporated by reference.
Despite the extensive use of software-based systems for facilitating the design of articles of manufacture, existing software-based design tools generally focus on the development of a set of two-dimensional views, leaving it to the experience, intuition, and expertise of the machinist to create a three-dimensional object from the information set forth in a plurality of two-dimensional representations of the object.
Other presently known systems permit a designer to prepare a three-dimensional drawing in simulated three-dimensional space; however, the systems are typically cumbersome, and are neither intuitive, easy to learn, nor particularly user-friendly once learned. Moreover, such three-dimensional design packages do not adequately take into account the fact that most qualified designers are trained in a two-dimensional paradigm; that is, the engineering and design curricula extant today are built around various teaching and training models which, although mature and powerful, are unambiguously two-dimensional in focus and orientation.
At least one study has shown that approximately 70% of all three-dimensional CADD system users employ these systems in a two-dimensional mode--that is, they perform three-dimensional design by creating multiple two-dimensional drawings which are later converted by human machinists into a three-dimensional object. As a result, designers and engineers have accumulated vast inventories of two-dimensional drawings and data which cannot be conveniently converted into three-dimensional objects.
Methods have been developed to facilitate, on a limited scale, generation of three-dimensional objects using two-dimensional data as input; see, for example: Suzuki, U.S. Pat. Nos. 5,428,715, issued Jun. 27, 1995; Azarbayejani et al., 5,511,153, issued Apr. 23, 1996; Kurashige et al., 5,363,476, issued Nov. 8, 1994; Abrams et al., 5,587,913, issued Dec. 24, 1996; and Niu et al., 5,561,748, issued Oct. 1, 1996. However, these methods are concerned generally with projection, extrusion, or mapping of two-dimensional data within three-space rather than the substantially more vexing problem of constructing solid objects from an arbitrary set of two-dimensional views.
Systems and methods are therefore needed which overcome the shortcomings of the prior art and which facilitate the conversion of two-dimensional drawings into three-dimensional object data.